﻿using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;

namespace SQLEditor.admin.entity
{
   public class PagerModel
    {
        public int pageNo { get; set; }
        public int pageSize { get; set; }

        public int totals { get; set; }

        public DataTable data { get; set; }

        public void setPageNo(int pageNo)
        {
            if (pageNo < 1) { this.pageNo = 1; }
            else if(pageNo>lastPageNo)
            {
                this.pageNo = lastPageNo;
            }else
            {
                this.pageNo = pageNo;
            }
        }
        public int firstPageNo {
            get {
                return 1;
            }
        }
        public int lastPageNo {
            get
            {
                return (int)Math.Ceiling(totals * 1.0 / pageSize);
            }
        }
        public int prevPageNo{
            get
            {
                if (pageNo <= firstPageNo) {
                    pageNo = firstPageNo;
                    return firstPageNo;
                }
                return pageNo - 1;
            }
        }
        public int nextPageNo {
            get
            {
                if (pageNo >= lastPageNo)
                {
                    pageNo = lastPageNo;
                    return lastPageNo;
                }
                return pageNo + 1;
            }
        }

        public PagerModel()
        {
            pageSize = 25;
            pageNo = 1;
        }

        public PagerModel(int total,int pageNo,int pageSize, DataTable dt)
        {
            this.totals = total;
            this.pageSize = pageSize;
            this.setPageNo(pageNo);
            this.data = dt;
        }

    }
}
